#include <iostream>
inline void addOne(int& a,int b = 10);     // 内联函数在编译期间会将函数体放在调用位置，避免了函数调用指令指针跳转和和各类参数压栈的过程

int main(){
    using namespace std;
    int a = 10;
    addOne(a);
    cout<<a<<endl;
    return 0;
}

inline void addOne(int& a,int b){     // 默认参数应当出现在参数列表尾部连续位置，不应该在中间单独出现,默认参数值在声明中出现，就不能在定义中再次出现
    a += b;                     // 内联函数节省时间，但消耗内存，如果函数过大，编译器可能不会将其作为内联函数，内联函数不能递归
}
